Power management is a significant concern especially for notebook computers and other portable electrical and electronic devices that operate on battery power. In order to reduce power consumption, many devices are operated at two or more power levels. For example, one level, or mode, may be a typical operating mode in which all components of the device are energized and ready to operate. A second mode may be a reduced power mode in which portions of the device are de-energized. For example, in a data storage device such as a disc drive, one reduced power mode may de-energize the read/write channel chip, read/write heads, and a differential preamplifier. In some cases, additional modes may further de-energize the various other components of the data storage device. Similarly, other types of devices may selectively de-energize portions various components to reduce power consumption. Various examples include a notebook computer that hibernates after a period of inactivity, a copier or fax machine entering a sleep mode after a period of inactivity, a handheld device or cell phone that shuts off the display light after a period of time, etc.
Firmware code stored in memory, either external or internal to the microprocessor of the device, and executed by the microprocessor controls the operation of the various modes. Typically, the code relies on one or more power management timers for determining entry into a reduced power mode. That is, after a specified timer period has passed without activity, such as receiving a request from a host in the data storage device example, the device is placed into a reduced power mode.
However, operating a device in a reduced power mode is not without costs. Changing to a lower power mode has two consequences. First, extra energy may be used to transition into and out of a given mode. Additionally, extra time is taken to complete tasks required of the device when it is operating in lower power modes since the device must re-energize before performing the task.
Typically, selection of power management timer values does not take these costs into consideration. Usually, timer values are arbitrarily selected. In some cases timer values are arbitrarily short in an attempt to reduce energy use. In other cases, timer values are arbitrarily long in an attempt to improve performance. As a result, neither power management concerns nor throughput concerns may be adequately addressed or balanced against each other.
Accordingly there is a need for systems and methods for selecting power management timer values based on the overall effect that a timer value or combination of timer values may have on a device. The present invention provides a solution to this and other problems, and offers other advantages over the prior art.